home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / mtc / mtc.bas < prev    next >
BASIC Source File  |  1995-05-09  |  33KB  |  951 lines

  1. Option Explicit
  2.  
  3. Global Frame_Mode As Integer   '24,25,29,30
  4. Global TC_Type As Integer      '0,  1, 2, 3
  5. Global MTC_Time As Long        'External Time in ms.
  6. Global Ms_per_QF As Single     'Ms. per Quarter Frame (1000/Frame_Mode)
  7. Global QF_Counter As Integer   '0...7  (Quarter Frame Message Counter)
  8.  
  9. Global hhh As Integer          'Actual Hours
  10. Global mmm As Integer          'Minutes
  11. Global sss As Integer          'Seconds
  12. Global fff As Integer          'Frames
  13.  
  14. Global disp_hhh As Integer     'Display Hours
  15. Global disp_mmm As Integer     'Minutes
  16. Global disp_sss As Integer     'Seconds
  17. Global disp_fff As Integer     'Frames
  18.  
  19. Global flgStop As Integer
  20. Global flgDown As Integer
  21. Global flgReadStop As Integer
  22.  
  23. 'Midi Device Handles
  24. Global hMidiIn As Integer               'usually 966 or 986
  25. Global hMidiOut As Integer              '   "        "   "
  26. Global Const NO_HANDLE = -1000          'Device closed
  27.      
  28. 'InBuffer parameters (circular buffer)
  29. Global ReadIndex As Integer               'Where to read from buffer
  30. Global WriteIndex As Integer              'where to write into buffer
  31. Global BuffCounter As Integer           'N. of messages in buffer
  32. Global InBuffer(1023) As Long           'Buffer (0...1023)
  33. Global Const BUFFSIZE = 1024            'max. 1024 messages
  34.  
  35. 'If InBuffer is full and a message arrives, increment NumErrors
  36. Global NumErrors As Long
  37.  
  38. 'Wait for this flag to be active before change InBuffer Parameters
  39. Global flgChangeIt As Integer        'True=changes allowed, False=not allowed
  40.  
  41. 'Device ID
  42. Global InDevice As Integer          'Midi In Device
  43. Global OutDevice As Integer         'Midi Out Device
  44.  
  45. Global flgGoodbye As Integer        'If true exit polling loop
  46.                                     'For API Functions Calls
  47. Global ret As Integer
  48.  
  49.  
  50. ''''''''''  General Constants '''''''''''''''
  51.  
  52. ' Booleans
  53. Global Const YES = True
  54. Global Const NO = False
  55.  
  56. ' DragOver
  57. Global Const ENTER = 0
  58. Global Const LEAVE = 1
  59.  
  60. ' Colors
  61. Global Const BLACK = &H0&
  62. Global Const RED = &HFF&
  63. Global Const GREEN = &HFF00&
  64. Global Const YELLOW = &HFFFF&
  65. Global Const BLUE = &HFF0000
  66. Global Const MAGENTA = &HFF00FF
  67. Global Const CYAN = &HFFFF00
  68. Global Const WHITE = &HFFFFFF
  69. Global Const GRAY = &HC0C0C0
  70. Global Const BURDEOS = &H80
  71. Global Const DARKGRREN = &H8000
  72. Global Const DARKBLUE = &H800000
  73. Global Const MIDLEGREEN = &H8080
  74. Global Const LILA = &H800080
  75. Global Const VERDFOSC = &H808000
  76. Global Const DARKGREY = &H808080
  77.  
  78. 'MousePointer
  79. Global Const DEFAULT = 0        ' 0 - Default
  80. Global Const ARROW = 1          ' 1 - Arrow
  81. Global Const CROSSHAIR = 2      ' 2 - Cross
  82. Global Const IBEAM = 3          ' 3 - I-Beam
  83. Global Const ICON_POINTER = 4   ' 4 - Icon
  84. Global Const SIZE_POINTER = 5   ' 5 - Size
  85. Global Const SIZE_NE_SW = 6     ' 6 - Size NE SW
  86. Global Const SIZE_N_S = 7       ' 7 - Size N S
  87. Global Const SIZE_NW_SE = 8     ' 8 - Size NW SE
  88. Global Const SIZE_W_E = 9       ' 9 - Size W E
  89. Global Const UP_ARROW = 10      ' 10 - Up Arrow
  90. Global Const HOURGLASS = 11     ' 11 - Hourglass
  91. Global Const NO_DROP = 12       ' 12 - No drop
  92.  
  93. ' MsgBox parameters
  94. Global Const MB_OK = 0                 ' OK button only
  95. Global Const MB_OKCANCEL = 1           ' OK and Cancel buttons
  96. Global Const MB_ABORTRETRYIGNORE = 2   ' Abort, Retry, and Ignore buttons
  97. Global Const MB_YESNOCANCEL = 3        ' Yes, No, and Cancel buttons
  98. Global Const MB_YESNO = 4              ' Yes and No buttons
  99. Global Const MB_RETRYCANCEL = 5        ' Retry and Cancel buttons
  100.  
  101. Global Const MB_ICONSTOP = 16          ' Critical message
  102. Global Const MB_ICONQUESTION = 32      ' Warning query
  103. Global Const MB_ICONEXCLAMATION = 48   ' Warning message
  104. Global Const MB_ICONINFORMATION = 64   ' Information message
  105.  
  106. Global Const MB_APPLMODAL = 0          ' Application Modal Message Box
  107. Global Const MB_DEFBUTTON1 = 0         ' First button is default
  108. Global Const MB_DEFBUTTON2 = 256       ' Second button is default
  109. Global Const MB_DEFBUTTON3 = 512       ' Third button is default
  110. Global Const MB_SYSTEMMODAL = 4096      'System Modal
  111.  
  112. ' MsgBox return values
  113. Global Const IDOK = 1                  ' OK button pressed
  114. Global Const IDCANCEL = 2              ' Cancel button pressed
  115. Global Const IDABORT = 3               ' Abort button pressed
  116. Global Const IDRETRY = 4               ' Retry button pressed
  117. Global Const IDIGNORE = 5              ' Ignore button pressed
  118. Global Const IDYES = 6                 ' Yes button pressed
  119. Global Const IDNO = 7                  ' No button pressed
  120.  
  121. ' Key Codes
  122. Global Const KEY_LBUTTON = &H1
  123. Global Const KEY_RBUTTON = &H2
  124. Global Const KEY_CANCEL = &H3
  125. Global Const KEY_MBUTTON = &H4    ' NOT contiguous with L & R BUTTON
  126. Global Const KEY_BACK = &H8
  127. Global Const KEY_TAB = &H9
  128. Global Const KEY_CLEAR = &HC
  129. Global Const KEY_RETURN = &HD
  130. Global Const KEY_SHIFT = &H10
  131. Global Const KEY_CONTROL = &H11
  132. Global Const KEY_MENU = &H12
  133. Global Const KEY_PAUSE = &H13
  134. Global Const KEY_CAPITAL = &H14
  135. Global Const KEY_ESCAPE = &H1B
  136. Global Const KEY_SPACE = &H20
  137. Global Const KEY_PRIOR = &H21
  138. Global Const KEY_NEXT = &H22
  139. Global Const KEY_END = &H23
  140. Global Const KEY_HOME = &H24
  141. Global Const KEY_LEFT = &H25
  142. Global Const KEY_UP = &H26
  143. Global Const KEY_RIGHT = &H27
  144. Global Const KEY_DOWN = &H28
  145. Global Const KEY_SELECT = &H29
  146. Global Const KEY_PRINT = &H2A
  147. Global Const KEY_EXECUTE = &H2B
  148. Global Const KEY_SNAPSHOT = &H2C
  149. Global Const KEY_INSERT = &H2D
  150. Global Const KEY_DELETE = &H2E
  151. Global Const KEY_HELP = &H2F
  152.  
  153. ' KEY_A thru KEY_Z are the same as their ASCII equivalents: 'A' thru 'Z'
  154. ' KEY_0 thru KEY_9 are the same as their ASCII equivalents: '0' thru '9'
  155.  
  156. Global Const KEY_NUMPAD0 = &H60
  157. Global Const KEY_NUMPAD1 = &H61
  158. Global Const KEY_NUMPAD2 = &H62
  159. Global Const KEY_NUMPAD3 = &H63
  160. Global Const KEY_NUMPAD4 = &H64
  161. Global Const KEY_NUMPAD5 = &H65
  162. Global Const KEY_NUMPAD6 = &H66
  163. Global Const KEY_NUMPAD7 = &H67
  164. Global Const KEY_NUMPAD8 = &H68
  165. Global Const KEY_NUMPAD9 = &H69
  166. Global Const KEY_MULTIPLY = &H6A
  167. Global Const KEY_ADD = &H6B
  168. Global Const KEY_SEPARATOR = &H6C
  169. Global Const KEY_SUBTRACT = &H6D
  170. Global Const KEY_DECIMAL = &H6E
  171. Global Const KEY_DIVIDE = &H6F
  172. Global Const KEY_F1 = &H70
  173. Global Const KEY_F2 = &H71
  174. Global Const KEY_F3 = &H72
  175. Global Const KEY_F4 = &H73
  176. Global Const KEY_F5 = &H74
  177. Global Const KEY_F6 = &H75
  178. Global Const KEY_F7 = &H76
  179. Global Const KEY_F8 = &H77
  180. Global Const KEY_F9 = &H78
  181. Global Const KEY_F10 = &H79
  182. Global Const KEY_F11 = &H7A
  183. Global Const KEY_F12 = &H7B
  184. Global Const KEY_F13 = &H7C
  185. Global Const KEY_F14 = &H7D
  186. Global Const KEY_F15 = &H7E
  187. Global Const KEY_F16 = &H7F
  188.  
  189. Global Const KEY_NUMLOCK = &H90
  190.  
  191. Global Const SHIFT_MASK = 1
  192. Global Const CTRL_MASK = 2
  193. Global Const ALT_MASK = 4
  194.  
  195. Global Const LEFT_BUTTON = 1
  196. Global Const RIGHT_BUTTON = 2
  197. Global Const MIDDLE_BUTTON = 4
  198.  
  199. 'SYSTEM Errors
  200. Global Const MMSYSERR_BASE = 0
  201. Global Const MMSYSERR_NOERROR = 0                        ' cap error
  202. Global Const MMSYSERR_ERROR = (MMSYSERR_BASE + 1)        ' error sense especificar
  203. Global Const MMSYSERR_BADDEVICEID = (MMSYSERR_BASE + 2)  ' ID de dispositiu err≥nia
  204. Global Const MMSYSERR_NOTENABLED = (MMSYSERR_BASE + 3)   ' no es pot activar el dispositiu
  205. Global Const MMSYSERR_ALLOCATED = (MMSYSERR_BASE + 4)    ' el dispositiu ja estα activat
  206. Global Const MMSYSERR_INVALHANDLE = (MMSYSERR_BASE + 5)  ' Handle de dispositiu incorrecte
  207. Global Const MMSYSERR_NODRIVER = (MMSYSERR_BASE + 6)     ' no existeix el driver del dispositiu
  208. Global Const MMSYSERR_NOMEM = (MMSYSERR_BASE + 7)        ' no hi ha prou mem≥ria
  209. Global Const MMSYSERR_NOTSUPPORTED = (MMSYSERR_BASE + 8) ' funci≤ no suportada
  210. Global Const MMSYSERR_BADERRNUM = (MMSYSERR_BASE + 9)    ' error fora de marge
  211. Global Const MMSYSERR_INVALFLAG = (MMSYSERR_BASE + 10)   ' flag passat incorrecte
  212. Global Const MMSYSERR_INVALPARAM = (MMSYSERR_BASE + 11)  ' parαmetre passat incorrecte
  213. Global Const MMSYSERR_LASTERROR = (MMSYSERR_BASE + 11)   ' ·ltim error del marge
  214.  
  215.  
  216. 'MIDI Errors
  217. Global Const MIDIERR_BASE = 64
  218. Global Const MIDIERR_UNPREPARED = (MIDIERR_BASE + 0)     ' capτaler